package done.normal_201_300;

import com.study.common.TreeNode;
import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 222. Count Complete Tree Nodes 完全二叉树的节点个数
 * <p>
 * 给出一个完全二叉树，求出该树的节点个数。
 * <p>
 * 说明：
 * 完全二叉树的定义如下：在完全二叉树中，除了最底层节点可能没填满外，其余每层节点数都达到最大值，
 * 并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层，则该层包含 1~ 2h 个节点。
 * <p>
 * 示例:
 * <p>
 * 输入:
 * 1
 * / \
 * 2   3
 * / \  /
 * 4  5 6
 * <p>
 * 输出: 6
 */
@SuppressWarnings("all")
public class CountCompleteTreeNodes {

    public int countNodes(TreeNode root) {
        // 190510 first
        return -1;
    }

    @Test
    public void test() {
        info(countNodes(new TreeNode(1,
                new TreeNode(2,
                        4, 5), new TreeNode(3,
                6, null))));
    }
}












































/*
public int countNodes(TreeNode root) {
    return root==null?0:countNodes(root.left) + countNodes(root.right) + 1;
}
*/

